/* eslint-disable no-unused-vars */
/* eslint-disable no-useless-catch */
import { $post, $get } from './server'

class Api {

    /**
     *  用途：获取验证码
     *  @method get
     *  @return {promise}
     */
    async getCaptchaCode() {
        return $get('/user/captcha');
    }
    /**
     *  用途：登录
     *  @method post
     *  @return {promise}
     */
    async login(data) {
        return $post('/user/login', data)
    }
    /**
     *  用途：退出登录
     *  @method post
     *  @return {promise}
     */
    async loginout() {
        return $get('/user/loginout')
    }
    /**
     *  用途：获取用户信息
     *  @method get
     *  @return {promise}
     */
    async getUserInfo(userId) {
        return $get('/admin/user/getInfo/' + userId)
    }
    /**
    *  用途：创建用户
    *  @method post
    *  @return {promise}
    */
    async createUser(data) {
        return $post('/admin/user/create', data)
    }
    /**
    *  用途：获取用户列表
    *  @method get
    *  @return {promise}
    */
    async getUserList(data) {
        return $get('/admin/user/list', data)
    }
    /**
    *  用途：获取角色列表
    *  @method get
    *  @return {promise}
    */
    async getRoleList(data) {
        return $get('/admin/role/list', data)
    }
    /**
     *  用途：创建角色
     *  @method post
     *  @return {promise}
     */
    async createRole(data) {
        return $post('/admin/role/create', data)
    }
    /**
     *  用途：删除角色
     *  @method get
     *  @return {promise}
     */
    async delRoleById(roleId) {
        return $get('/admin/role/delete/' + roleId)
    }
    /**
     *  用途：删除用户
     *  @method get
     *  @return {promise}
     */
    async delUserById(userId) {
        return $get('/admin/user/delete/' + userId)
    }
    /**
    *  用途：获取组织结构列表
    *  @method get
    *  @return {promise}
    */
    async getStructList(data) {
        return $get('/admin/struct/list', data)
    }
    /**
    *  用途：创建组织机构
    *  @method post
    *  @return {promise}
    */
    async createStruct(data) {
        return $post('/admin/struct/create', data)
    }
    /**
     *  用途：获取当前用户左侧菜单
     *  @method get
     *  @return {promise}
     */
    async getAccessMenuList(roleId) {
        return $get('/admin/access/menuList/' + roleId)
    }
    /**
     *  用途：获取菜单列表
     *  @method get
     *  @return {promise}
     */
    async getMenuList(data) {
        return $get('/admin/access/list', data)
    }
    /**
     *  用途：创建菜单
     *  @method post
     *  @return {promise}
     */
    async createMenu(data) {
        return $post('/admin/access/create', data)
    }
    /**
    *  用途：获取字典列表
    *  @method get
    *  @return {promise}
    */
    async getDictList(data) {
        return $get('/admin/dict/list', data)
    }
    /**
     *  用途：创建字典
     *  @method post
     *  @return {promise}
     */
    async createDict(data) {
        return $post('/admin/dict/create', data)
    }
    /**
     *  用途：获取日志列表
     *  @method get
     *  @return {promise}
     */
    async getLoggerList(data) {
        return $get('/admin/log/list', data)
    }

    /**
     *  用途：获取定时任务列表
     *  @method get
     *  @return {promise}
     */
    async getTaskList(data) {
        return $get('/admin/task/list', data)
    }
    /**
     *  用途：创建定时任务
     *  @method post
     *  @return {promise}
     */
    async createTask(data) {
        return $post('/admin/task/create', data)
    }
    /**
     *  用途：启动定时任务
     *  @method post
     *  @return {promise}
     */
    async startTask(data) {
        return $post('/admin/task/start', data)
    }
    /**
    *  用途：暂停定时任务
    *  @method post
    *  @return {promise}
    */
    async stopTask(data) {
        return $post('/admin/task/stop', data)
    }
}
export default new Api()
